<?php

namespace maotool\view;

use maotool\file\FileUtil;
use maotool\view\component\ComponentLoader;
use maotool\view\html\Document;

class ViewUtil
{

    /**
     * 检测是否存在模板文件
     * @access public
     * @param string $file 模板文件
     * @return bool
     */
    public static function exists($file)
    {
        return FileUtil::exist($file);
    }

    /**
     * 渲染模板文件
     * @access public
     * @param string $fileOrContent 模板文件或者模板内容
     * @param array $data 模板变量
     * @return Document
     */
    public static function component($fileOrContent, $data = [])
    {
        $loader = new ComponentLoader();
        if (FileUtil::exist($fileOrContent)) {
            return $loader->loadComponent(FileUtil::read($fileOrContent), $data);
        } else {
            return $loader->loadComponent($fileOrContent, $data);
        }
    }

    /**
     * 渲染模板文件
     * @access public
     * @param string $fileOrContent 模板文件或者模板内容
     * @param array $data 模板变量
     * @return string
     */
    public static function render($fileOrContent, $data = [])
    {
        $loader = new ComponentLoader();
        if (FileUtil::exist($fileOrContent)) {
            return $loader->loadRender(FileUtil::read($fileOrContent), $data);
        } else {
            return $loader->loadRender($fileOrContent, $data);
        }
    }

}